﻿using System;
using System.Text;

using SBPweb.Communication.Shared.Library.Contacts;

namespace SBPweb.Communication.Shared.Library.Conversations
{

    public abstract class MessageBase
    {

        #region Constructor logic

        public MessageBase()
        {
            this.TimeStamp = DateTime.Now;
        }

        #endregion

        #region Property accessors

        public abstract IContact From
        {
            get;
            set;
        }

        public abstract IContact To
        {
            get;
            set;
        }

        public abstract object Body
        {
            get;
            set;
        }

        public DateTime TimeStamp
        {
            get;
            set;
        }

        public abstract bool IsMyOwn
        {
            get;
        }

        #endregion

        #region Methods

        #endregion

    }

    //public class Message
    //{

    //    #region Constructor logic

    //    public Message(byte[] rawMessage)
    //    {
    //        this.RawMessage = rawMessage;
    //    }

    //    #endregion

    //    #region Property accessors

    //    public byte[] RawMessage
    //    {
    //        get;
    //        set;
    //    }

    //    #endregion

    //    #region Methods

    //    public override string ToString()
    //    {
    //        return Encoding.UTF8.GetString(RawMessage, 0, RawMessage.Length);
    //    }

    //    #endregion

    //}

}